Spatial position sharing system, data sharing system, network game system, and network game client

ABSTRACT

In a client ( 16 ), current position information and predicted future position information for an object that have been generated in another client ( 16 ) are received, and estimated current position information for the same object in virtual space are sequentially generated based on these items of information. A game server ( 12 ) controls transfer of position information received from non-specified clients to specified clients. Further, at the client ( 16 ), in a message input mode, current position information for an object is generated automatically or semi-automatically, and that current position information is transmitted to the game server ( 12 ).

TECHNICAL FIELD

The present invention relates to a spatial position sharing system, adata sharing system, a network game system and a client for a networkgame.

BACKGROUND ART

The popularity of network games (on-line games) has been increasing.With a network game, it is possible to compete with another player whileremaining at home, or to play as a team, and it is possible to makegames more enjoyable than in the past.

However, network games of the related art have the following problems.

(1) In a network game where a plurality of players share virtual space(game space), it is difficult to share the position of an object etc.determined in real time in a particular client (game terminal) inanother client at the same time.

(2) Similarly, it is extremely difficult to share various datadetermined in real time (real time data) in a particular client inanother client at the same time.

(3) There may be cases where if many objects exist in the same virtualspace progress of the game is impeded. Also, if data relating to manyobjects is always shared with all clients, network traffic becomesoverwhelming.

(4) Network games for making on-line chat (message interchange) betweenplayers enjoyable have already been proposed, but chatting online whileoperating on objects is extremely difficult.

The present invention has been conceived in view of the above describedsituation, and a first object of the invention is to provide a specialposition sharing system, special position sharing device, program andspecial position sharing method capable of pseudo-sharing of specialpositions of position shared objects that sequentially change in virtualspace between devices, while suppressing communication.

A second object of the present invention is to provide a data sharingsystem, data sharing device, program and data sharing method capable ofpseudo-sharing of sequentially changing data between devices, whilesuppressing traffic.

A third object of the present invention is to provide a network gamesystem capable of allowing movement of virtual space relating to aspecified client smoothly in another virtual space, and a control methodfor such a network game system.

A fourth object of the invention is to provide a network game client,program, and a control method for a network game client, capable ofeasily carrying out online chat.

DISCLOSURE OF THE INVENTION

(1) In order to achieve the above described objects, a special positionsharing system of the present invention comprises a first device and asecond device, the first device comprising current position informationgenerating means for sequentially generating current positioninformation for a position shared object in virtual space, predictedfuture position information generating means for sequentially generatingpredicted future position information for the position shared object inthe virtual space; and information transmission means for sequentiallytransmitting the generated current position information and predictedfuture position information, the second device comprising informationreceiving means for receiving the current position information and thepredicted future position information transmitted from the first device,and estimated current position information generating means forsequentially generating estimated current position information for theposition shared object in the virtual space based on the receivedcurrent position information and predicted future position information.

Also, a special position sharing device of the present inventioncomprises current position information generating means for sequentiallygenerating current position information for the position shared objectin virtual space, predicted future position information generating meansfor sequentially generating predicted future position information forthe position shared object in the virtual space, and informationtransmission means for sequentially transmitting the generated currentposition information and predicted future position information.

Also, a special position sharing device of the present inventioncomprises information receiving means for receiving current positioninformation for a position shared object in virtual space and predictedfuture position information of the position shared object in the virtualspace sequentially generated in another device and sequentiallytransmitted from the other device, and estimated current positioninformation generating means for sequentially generating estimatedposition information for the position shared object in the virtual spacebased on the received current position information and predicted futureposition information.

A program of the present invention causes a computer to function ascurrent position information generating means for sequentiallygenerating current position information for a position shared object invirtual space, predicted future position information generating meansfor sequentially generating predicted future position information forthe position shared object in the virtual space, and informationtransmission means for sequentially transmitting the generated currentposition information and predicted future position information. Theprogram can be stored in a computer readable information storage mediumsuch as CD-ROM, DVD-ROM or ROM cartridge, and read from the medium bythe computer.

A program of the present invention causes a computer to function asinformation receiving means for receiving current position informationfor a position shared object in virtual space and predicted futureposition information of the position shared object in the virtual spacesequentially generated in another device and sequentially transmittedfrom the other device, and estimated current position informationgenerating means for sequentially generating estimated current positioninformation for the position shared object in the virtual space based onthe received current position information and predicted future positioninformation. The program can be stored in a computer readableinformation storage medium such as CD-ROM, DVD-ROM or ROM, and read fromthe medium by the computer.

A special position sharing method of the present invention comprises acurrent position information generating step for, in a first device,sequentially generating current position information of a positionshared object in virtual space, a predicted future position informationgenerating step for, in the first device, sequentially generatingpredicted future position information of the position shared object inthe virtual space, information transmission step for, in the firstdevice, sequentially transmitting the generated current positioninformation and predicted future position information, an informationreceiving step for, in a second device, receiving the current positioninformation and the predicted future position information transmittedfrom the first device, and an estimated current position informationgenerating step for, in the second device, sequentially generatingestimated current position information for the position shared object inthe virtual space based on the received current position information andthe predicted future position information.

A special position sharing method of the present invention alsocomprises an information receiving step for receiving current positioninformation for a position shared object in virtual space and predictedfuture position information of the position shared object in the virtualspace sequentially generated in another device and sequentiallytransmitted from the other device, and an estimated current positioninformation generating step for sequentially generating predicted futureposition information for the position shared object in the virtual spacebased on the received current position information and predicted futureposition information.

With the present invention, current position information and predictedfuture position information for a position shared object aresequentially generated in the first device, and that information issequentially transmitted. In the second device, that information isreceived, and estimated current position information for the positionshared object is sequentially generated based on this information. Here,the current position information represents a current position of aposition shared object in virtual space. Predicted future positioninformation represents predicted position of the position shared objectin virtual space. Further, the estimated current position informationrepresents estimation results for current position of the positionshared object in virtual space. Current position information generatedin the first device is already old by the time it is received at thesecond device, but with the present invention, since predicted futureposition information is transmitted from the first device and the seconddevice receives this information, the current position of the positionshared object can be estimated with high precision close to the currentposition information generated at the same time in the first device,that is, it is possible to generate accurate estimated current positioninformation. Also, since it is possible to make the information amountof the current position information and the predicted future positioninformation comparatively small, according to the present invention itis possible to share current position of a position shared object invirtual space while suppressing traffic.

In one aspect of the present invention, the current position informationrepresents current time and position of the position shared object inthe virtual space at the current time. In this way, in the second deviceit is possible to determine at what position the position shared objectis at what point in time, and it becomes possible to generate estimatedcurrent position information with higher precision.

Also, in one aspect of the present invention, the predicted futureposition information also represents a future time when the positionshared object is positioned at the predicted position in the virtualspace. In this way, in the second device, it is possible to determinewhether at which position the position shared object is at what time isbeing predicted, and it becomes possible to generate estimated currentposition information with higher precision.

In this aspect, the predicted future position information generatingmeans may determine the future time based on communication conditionsbetween the first and second device. If communication conditions betweenthe first and second device are bad, in cases where time is requireduntil the current position information and the predicted future positioninformation reach the second device from the first device, in the firstdevice even if predicted future position information for the near futureare generated, they are not useful in the second device. If future timerelating to the predicted future position information is determinedbased on communication conditions between the first and second device,it is possible to provide more meaningful predicted future positioninformation to the second device, and it is possible to generateestimated current position information with higher precision.

In one aspect of the present invention, the current position informationgenerating means sequentially generates the current position informationbased on operation information input by a user of the first device, andthe predicted future position information generating means sequentiallygenerates the predicted future position information based on theoperation information. According to this aspect, in cases where theamount of operation information is greater than the positioninformation, it is possible to share current position of a positionshared object in the first and second device while suppressing traffic.

In one aspect of the present invention, the predicted future positioninformation generating means generates the predicted future positioninformation based on the current position information generated by thecurrent position information generating means. In this case, a currentposition information storage means for storing a plurality of items ofcurrent position information sequentially generated by the currentposition information generating means may be further provided, and thepredicted future position information generating means may generate thepredicted future position information based on the plurality of items ofcurrent position information stored in the current position informationstorage means. In this way, even if a plurality of items of currentposition information are not stored in the second device, and aplurality of items of current position information are not transmittedto the second device from the first device, it is possible to generateestimated current position information based on predicted futureposition information that is based on that information.

Also, with this aspect of the present invention, the estimated currentposition information generating means newly generates the estimatedcurrent position information further based on the already generatedestimated current position information. In this way, for example, it ispossible to suppress sudden changes in the sequentially generatedestimated current position information in the second device. In thisaspect, the estimated current position information generating meanspreferably generates dummy estimated current position information forthe position shared object in virtual space based on received currentposition information and predicted future position information, andnewly generates the estimated current position information based on thealready generated estimated current position information and the dummyestimated current position information. At this time, the estimatedcurrent position information generating means preferably generates aposition of an internal dividing point or an external dividing point ofa position represented by received current position information or aposition represented by the predicted future position information as thedummy estimated current position information.

Also, in one aspect of the present invention, the first device furthercomprises current attitude information generating means for sequentiallygenerating current attitude information for the position shared objectin virtual space, predicted future attitude information generating meansfor sequentially generating predicted future attitude information forthe position shared object in the virtual space, and attitudeinformation transmission means for sequentially transmitting thegenerated current attitude information and predicted future attitudeinformation, and the second device further comprises attitudeinformation receiving means for receiving the current attitudeinformation and the predicted future attitude information transmittedfrom the first device; and estimated current attitude informationgenerating means for sequentially generating estimated current attitudeinformation for the position shared object in the virtual space based onthe received current attitude information and predicted future attitudeinformation. In this way, it is also possible to share a currentattitude of the position shared object in the first and second device.

(2) A data sharing system of the present invention comprises a firstdevice and a second device, the first device comprising current datagenerating means for sequentially generating current data, predictedfuture data generating means for sequentially generating predictedfuture data, and data transmission means for sequentially transmittingthe generated current data and predicted future data, the second devicecomprising data receiving means for receiving the current data and thepredicted future data transmitted from the first device, and estimatedcurrent data generating means for sequentially generating estimatedcurrent data based on the received current data and predicted futuredata.

A data sharing device of the present invention also comprises currentdata generating means for sequentially generating current data,predicted future data for sequentially generating predicted future data,and data transmission means for sequentially transmitting the generatedcurrent data and the predicted future data.

Also, a data sharing device of the present invention comprises datareceiving means for receiving current data and predicted future datasequentially generated in another device and sequentially transmittedfrom the other device, and estimated current data generating means forsequentially generating estimated current data based on the receivedcurrent data and predicted future data.

A program of the present invention causes a computer to function ascurrent data generating means for sequentially generating current data,predicted future data generating means for sequentially generatingpredicted future data, and data transmission means for sequentiallytransmitting the generated current data and the predicted future data.The program can be stored in a computer readable information storagemedium such as CD-ROM, DVD-ROM or ROM cartridge, and read from themedium by the computer.

A program of the present invention also causes a computer to function asdata receiving means for receiving current data and predicted futuredata sequentially generated in another device and sequentiallytransmitted from the other device, and estimated current data generatingmeans for sequentially generating estimated current data based on thereceived current data and predicted future data. The program can bestored in a computer readable information storage medium such as CD-ROM,DVD-ROM or ROM cartridge, and read from the medium by the computer.

A data sharing method of the present invention comprises a current datagenerating step for, in a first device, sequentially generating currentdata, a predicted future data generating step for, in the first devicesequentially generating predicted future data, a data transmission stepfor, in the first device, sequentially transmitting the generatedcurrent data and predicted future data, data receiving step for, in asecond device, receiving the current data and the predicted future datatransmitted from the first device, and an estimated current datagenerating step for, in the second device, sequentially generatingestimated current data based on the received current data and predictedfuture data.

A data sharing method of the present invention also comprises a datareceiving step for receiving current data and predicted future datasequentially generated in another device and sequentially transmittedfrom the other device and an estimated current data generating step forsequentially generating estimated current data based on the receivedcurrent data and predicted future data.

With the present invention, in the first device current data andpredicted future data are sequentially generated, and this data issequentially transmitted. At the second device, the data is received,and estimated current data is sequentially generated based on thereceived data. Here, current data is data constituting a shared object,and is sequentially generated in the first device. Also, the predictedfuture data is data likely to be generated in the future in the firstdevice. The estimated current data is data likely to be generated in thefirst device at the current time, specifically, the estimated currentdata represents results of estimation for data being generated in thefirst device. Current data generated in the first device is already oldby the time it has been received at the second device, but with thisinvention, predicted future data is transmitted from the first device,and this data is received in the second device, which means that currentdata is estimated with high precision, and it is possible to generatedata that is close to the current data generated at the same time in thefirst device, namely accurate estimated current data.

(3) A network game system of the present invention includes a server anda plurality of clients, wherein the plurality of clients respectivelycomprise space data storage means for storing space data representing avirtual space, and position information transmission means fortransmitting position information corresponding to the client in thevirtual space to the server, and the server comprises positioninformation receiving means for receiving position information from theplurality of clients, client specifying means for specifying some fromamong the plurality of clients, and position information transfer meansfor transferring all or some of the position information received fromthe plurality of clients to the plurality of clients, while restrictingtransfer of position information received from clients that have notbeen specified by the client specifying means to clients that have beenspecified by the client specifying means, the plurality of clientsrespectively comprising transfer data receiving means for receivingposition information transferred from the server, and game processingmeans for executing a game processing based on position informationreceived by the transfer data receiving means and space data stored inthe space data storage means.

Also, a control method of the present invention for a network gamesystem comprising a server and a plurality of clients comprises aposition information transmission step, in each client, for transmittingposition information corresponding to the client in a virtual space tothe server, a position information receiving step, in the server, forreceiving position information received from the plurality of clients, aclient specifying step, in the server, for specifying some of theplurality of clients, a position information transfer step, for, in theserver, transferring all or some of the position information receivedfrom the plurality of clients to the plurality of clients, whilerestricting transfer of position information received from clients thathave not been specified in the client specifying step to clients thathave been specified in the client specifying step, a transferred datareceiving step, in each client, for receiving position informationtransferred from the server, and a game processing step, in each client,for executing game processing based on position information received inthe transferred data receiving step and space data representing thevirtual space.

With the present invention, game processing is executed in each clientbased on position information and space data transferred from theserver. At this time, transfer of position information received fromclients that have not been specified in the client specifying step(non-specified clients) to clients that have been specified in theclient specifying step (specified clients) is limited. Therefore, at thespecified clients, game processing relating to non-specified clients islimited. In this way, game processing based on position informationcorresponding to non-specified clients is limited, and virtual spacehandled in the specified clients (specified virtual space) can be madedifferent to virtual space handled in the non-specified clients(non-specified virtual space). Space data storage means contained in theplurality of clients can store space data representing virtual space ofthe same structure. In this way, it is possible to move fromnon-specified virtual space to specified virtual space more smothly.Position information may represent position itself, or may representbasic information for determining position, such as for example,movement direction or movement distance.

With one aspect of the present invention, the position informationtransfer means separately transfers position information received fromspecified clients, and position information received from non-specifiedclients, to the non-specified clients, and the game processing meansseparately displays an image relating to position informationtransmitted from specified clients and an image relating to positioninformation transmitted from non-specified clients. In this way, it ispossible to allow suitable display of an image relating to a specifiedclient at a non-specified client.

In this case, the game processing means may limit interferenceprocessing between object arranged at position represented by positioninformation transmitted from specified clients, and objects arranged atpositions represented by position information transmitted fromnon-specified clients. Interference processing is, for example,determining whether or not there is interference between objects, suchas collision or contact, and executing game processing that deals withthat. In this way, in non-specified clients, it is possible to causeobjects relating to specified clients to appear appropriately.

In one aspect of the present invention, there is further providedspecification cancellation means for canceling specification by theclient specifying means, wherein, when specification by the clientspecifying means for a client containing the game processing means iscanceled, the game processing means limits interference processing forobjects arranged at positions represented by position informationcorresponding to the client, and objects arranged at positionsrepresented by position information transmitted from non-specifiedclients, until a specified time. The specified time is, for example, 1)the time when it is determined that there is no interference for objectscorresponding to client and objects corresponding to non-specifiedclients, 2) when it is determined that a distance between objectscorresponding to the client and objects corresponding to non-specifiedclients exceeds a specified distance, and 3) when a specified time haselapsed since the specification is cancelled. According to this aspect,it is possible to return smoothly from a specified client to anon-specified client.

(4) A client of the present invention is for a network game, used in anetwork game in which a virtual space is shared by a plurality ofclients, for causing movement of objects corresponding to each client inthe virtual space, comprising input means for inputting signals, modedetermining means for determining whether an operating mode of theclient is an object operation mode or a message input mode, firstposition information generating means for, in the object operation mode,generating position information relating to a position of an objectcorresponding to the client based on signals input by the input means,second position information generating means for, in the message inputmode, generating position information relating to position of the objectcorresponding to the client while limiting a degree to which theposition information is based on signals input by the input means,instead of the first position generating means, position informationtransmission means for transmitting the position information generatedby the first or second position information generating means, messageinformation generating means for, in the message input mode, generatingmessage information based on signals input by the input means, andmessage information transmission means for transmitting the messageinformation generated by the message information generating means.

Also, program of the present invention causes a computer to function asa client, for a network game, used in a network game in which a virtualspace is shared by a plurality of clients, for causing movement ofobjects corresponding to each client in the virtual space, the programcausing the computer to function as input means for inputting signals,mode determining means for determining whether an operating mode of theclient is an object operation mode or a message input mode, firstposition information generating means for, in the object operation mode,generating position information relating to a position of an objectcorresponding to the client based on signals input by the input means,second position information generating means for, in the message inputmode, generating position information relating to position of the objectcorresponding to the client while limiting a degree to which theposition information is based on signals input by the input means,instead of the first position generating means, position informationtransmission means for transmitting the position information generatedby the first or second position information generating means, messageinformation generating means for, in the message input mode, generatingmessage information based on signals input by the input means, andmessage information transmission means for transmitting the messageinformation generated by the message information generating means. Theprogram can be stored in a computer readable information storage mediumsuch as CD-ROM, DVD-ROM or ROM cartridge, and read from the medium bythe computer.

Also, a control method of the present invention, for a client, for anetwork game, used in a network game in which a virtual space is sharedby a plurality of clients, to cause movement of objects corresponding toeach client in the virtual space, comprises a mode determining step fordetermining whether an operating mode of the client is an objectoperation mode or a message input mode, a first position informationgenerating step for, in the object operation mode, generating positioninformation relating to a position of an object corresponding to theclient based on signals input by input means, a second positioninformation generating step for, in the message input mode, generatingposition information relating to position of the object corresponding tothe client while limiting a degree to which the position information isbased on signals input by the input means, instead of the first positiongenerating step, a position information transmission step fortransmitting the position information generated in the first or secondposition information generating steps, a message information generatingstep for, in the message input mode, generating message informationbased on signals input by the input means, and a message informationtransmission step for transmitting the message information generated inthe message information generating step.

With the present invention, object operation mode or message input modeis determined. In the object operation mode, position informationrelating to an object is generated based on signals input using inputmeans, and this information is transmitted. In message input mode,position information relating to the object is generated while limitinga degree to which the position information is based on signals inputusing the input means, and this information is transmitted. That is, inmessage input mode, for example, position information relating to theobject is generated 1) not based on signals input using the input means,or 2) based on, among a plurality of types of signals input using theinput means, fewer signals than signals referenced in the objectoperation mode. In the message input mode, message information is alsogenerated based on signals input using the input means, and thisinformation is transmitted. According to the present invention, in themessage input mode, position information relating to an object andlimited a degree based on signal input using input means are generatedautomatically or semi-automatically, which means that it is possible tosuitably transmit message information. Position information mayrepresent position itself, or may represent basic information fordetermining position, such as direction of movement and movementdistance.

With one aspect of the present invention, the second positioninformation generating means generates position information relating toposition of the object corresponding to the client so as to suppressvariation in game conditions. In this way, in the message input mode itis possible to make it difficult for changes in game conditions, such asa positional relationships between an object corresponding to anotherclient and an object corresponding to the client or client ranking, toarise.

With this aspect, the second position information generating means maygenerate position information relating to position of the objectcorresponding to the client, based on a distance between the objectcorresponding to the client and an object corresponding to anotherclient. In this way, it is possible to make if difficult for variationsin game conditions to occur by suppressing a distance between, forexample, the object corresponding to the client and an objectcorresponding to another client in the client.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing showing the overall structure of a network gamesystem of an embodiment of the present invention.

FIG. 2 is a drawing showing an example of virtual space.

FIG. 3 is a drawing showing one example of a lobby screen.

FIG. 4 is a drawing showing one example of a competition screen.

FIG. 5 is a functional block diagram of a game server.

FIG. 6 is a functional block diagram of a game client.

FIG. 7 is a drawing showing a lobby mode vehicle position table storedin the game server.

FIG. 8 is a drawing showing an address table stored in the game server.

FIG. 9 is a drawing showing a competition mode vehicle position tablestored in the game server.

FIG. 10 is a drawing showing real time vehicle data stored in each gameclient.

FIG. 11 is a drawing for describing estimation processing for currentposition information.

FIG. 12 is a functional block diagram of a data sharing system of thepresent invention.

BEST MODE FOR CARRYING OUT THE INVENTION

One embodiment of the present invention will now be described in thefollowing based on the drawings.

FIG. 1 is a drawing showing the overall structure of a network gamesystem of an embodiment of the present invention. In FIG. 1, thisnetwork game system 10 comprises a game server 12, and a plurality ofclients 16-A, 16-B . . . , 16-X. The game server 12 and the clients 16are all directly or indirectly connected to the internet 14, and datacommunication is possible between at least the server and the clients.Here, the internet 14 is used as a data communication network, but it isalso possible to use another data communication network, such as a cabletelevision network.

The game server 12 includes, for example, a well known server computersystem, and manages the entire network game. Here, a vehicle race gameis managed by the game server 12. On the other hand, the clients (gameterminals) 16 include a computer system such as a well known personalcompute system, a household game device, an arcade game device, aportable game device, a portable telephone, or a personal dataassistance etc., which a player (user) uses to play a network game.

FIG. 2 is a drawing showing virtual space (game space, object space)shared by the clients 16 and the game server 12. As shown in FIG. 2,this virtual space contains a looped course (object) 20 constituting astage for a vehicle race, and buildings (objects) 18 arranged around thecourse. Space data indicating the virtual space shown in FIG. 2, thatis, data representing position, attitude, shape and design of a staticobject such as the looped course 20 and buildings 18 arranged inside thevirtual space, and moving object data, that is data representing shapeand design of a moving object, such as a vehicle object, etc., arestored in advance in the game server 12 and the clients 16, and onlyposition and attitude of a moving object such as a vehicle object areexchanged between the server 12 and the clients 16 during a game. Atthis time, the position and attitude of a moving object are exchangedbeing described in a world coordinate system 22 installed in the virtualspace shown in FIG. 2.

As described above, the network game of this embodiment is a vehiclerace game, vehicle objects corresponding to each client 16 are arrangedon the looped course 20, and caused to move based on positioninformation (constituted of current position information and predictedfuture position information, as will be described later) transmittedfrom each client 16. Player cars (objects) that are subjected tooperation by a player, and non-player cars (objects) that are notsubjected to operation by a player, are included in the vehicle objectscorresponding to each client 16. Specifically, position informationrelating to player cars is transmitted from clients 16 that are in lobbymode, which will be described later, to the game server 12. Also,position information relating to player cars and non-player cars istransmitted from clients 16 that are in competition mode, which will bedescribed later, to the game server 12. Also, in the game server 12vehicle objects are independently arranged on the looped course 20, andthese objects are caused to move,

On the looped course 20, a start line has not been specially set, and ifcompetition start conditions are arranged between specified players, acompetition between two players starts from that point in time. In thiscompetition, the same points or difference points corresponding to adifference in player level are assigned to the two players in advance,respective points are reduced depending on tactical situations, and ofthe points assigned to either player become zero, it is determined thatthat player has lost. In more detail, if a player car operated by oneplayer passes a player car operated by another player, the pointsassigned to the player who was passed are reduced. If a distance betweenthe player cars being operated by two players opens up, the pointsassigned to the player who is behind are reduced because of a drop inspeed corresponding to this distance. Also, if a player car beingoperated by any player touches another vehicle object, the pointsassigned to that player are reduced. Here, the above described rules areadopted, but the present invention can also be applied to a network gameadopting other rules. Also, a vehicle race between two people has beentaken as an example, but it is also possible to have a competition withmore people than that.

FIG. 3 is a drawing showing a lobby screen displayed in a client 16.Before determining competition start conditions, specifically in thelobby mode, the lobby screen shown in FIG. 3 is displayed in each client16. The lobby screen shown in FIG. 3 mainly shows the appearance ofvirtual space from the view point of driving a player car 34corresponding to a client 16 in the same virtual space. Here, theappearance of a player car 34 of a player in front of the screen usingthe client 16 is displayed looking from the rear, the appearance of aplayer car 40 of another player is displayed above this, and the playercar 34 traveling behind the player car 40 on the looped course 20 isshown. Also, marks 36 and 38 representing IDs of players manipulatingthe player cars are respectively displayed on the player cars 34 and 40.Display of the marks 36 and 38 can be suppressed to all or part of themark, as required. In this lobby screen, a player's own player car,player cars manipulated by players using another client 16 in lobbymode, and non-player cars manipulated by the game server 12 aredisplayed, and at the same time player cars manipulated by players usingother clients 16 that are in competition mode, which will be describedlater, are displayed in a semi-transparent manner. Therefore, thesemi-transparent player cars and the other player vehicle do notinterfere (collide or touch).

A message log display box 24 for displaying content of chat with otherplayers (message interchange) is provided on the upper left of the lobbyscreen, and an address book display box 32 for displaying other playerIDs is provided to the right of this message log display box. A messageinput box 26 is provided below the message log display box 24, and tothe right of this there are provided transmission mode switching buttons28 and 30 for setting whether to transmit message character stringsinput to the message input box 26 to all players (clients 16) or toselected payers (clients 16).

After each player has logged in to the game server 12 from the client16, each client 16 is set to lobby mode, and the lobby screen shown inFIG. 1 is displayed on a monitor (household television receiver orcomputer display). Then, an input unit such as dedicated vehicle gamecontroller provided with handle and accelerator, a keyboard, or a gamecontroller is operated while looking at the lobby screen, and theplayer's own player car is caused to travel along the looped course 20.At this time, position information for the player car is generated bythe client 16 based on signals input from the input unit, and thatposition information is transmitted to the game server 12. This positioninformation is received from the game server 12 by the other clients 16,and an image of the vehicle is displayed based on that positioninformation.

While sharing virtual space among a plurality of clients 16 in thismanner, each player operates their own player car in that virtual space.Also, in lobby mode, it is possible to carry out chat with otherplayers, as required. Specifically, on the lobby screen, if a commandinput to switch from player car operation mode (object operation mode)to message input mode using the input unit, generation of positioninformation that was being carried out up until then based on signalsinput from the input unit is suspended, limitation is imposed to anextent based on signals input from the input unit from that point intime, and position information for the player car is generatedautomatically or semi-automatically. This position information is thentransmitted to the game server 12.

In more detail, in the message input mode position of the player car isgenerated automatically or semi-automatically based not on signals inputfrom the input unit but based on the shape of the looped course 20 andthe position of other vehicle objects. Also, especially at this point,position information is generated so as to maintain a space between theplayer car being corresponding to the client 16 and a player car beingcorresponding to another client 16 at the current distance or aspecified distance. For that reason, it is possible to preventvariations in game conditions during message input.

In the message input mode, for example, only accelerator commands inputfrom the input unit may be received, and based on that the positioninformation for the player car may be generated semi-automatically. Inthe message input mode, therefore, it is possible for the player car tobe operated automatically or semi-automatically, to enable a user toconcentrate on message input.

In lobby mode, if start conditions for a competition between aparticular player and another player are established, that information(client specific information) are registered in the game server 12. Inthis case, a player car corresponding to one server 16 is made to moveto the rear of the player car being corresponding to the other client16, and if the competition is entered into as a result of a signaloperation (for example, flashing headlights) using the input unit acompetition request designating the ID of the other player istransmitted to the game server 12 from the one client 16, and therequest is registered in the game server 12. At the game server 12, thefact that there is a competition request and the ID of the player makingthe competition request is then transmitted to the client 16 of theopposing player. If the competition request is received at the client 16of the opposing player, a signal operation such as flashing headlightsis caused at the player car following operation of the player car by theplayer making the competition request. This state is displayed on thelobby screen in the client 16 of the opposing player. After that, thegame server 12 determines competition start conditions, registers theIDs of both players as client specific information, and transmits a modechange command to change from lobby mode to competition mode to theclients 16 being used by both players.

If a player receiving a flashing headlights signal or the like from afollowing player car performs a rejection operation using the inputunit, competition refusal information is transmitted to the game server12, and the 12 receiving the competition refusal information candetermine that the competition start conditions have not beenestablished. Also, if a player receiving a signal such as flashingheadlights from a following player car consents to the competition usinga competition consent operation (for example, hazard light) using theinput unit, it is possible to transmit competition consent informationdesignating the ID of the opposing player from the client 16 of theopposing player to the game server 12. In this case, at the game server12 if corresponding competition consent information is received within aspecified time from registration of the competition request, it can bedetermined that a competition start conditions have been established.

With this network game system 10, the above described rendering isadopted relating to success or failure of competition start conditions,but it is also possible to adopted other rendering. Also, althoughdescription has been given for only a competition between two players,it is also possible to execute a competition between a player caroperated by a player and a non-player car operated by the game server12.

At the client 16 receiving a mode change command from the lobby mode tocompetition mode from the game server 12, the mode of the device itselfis caused to shift from lobby mode to competition mode, and thecompetition screen shown in FIG. 4 is displayed. The competition screenshown in FIG. 4 is displayed on the client 16 corresponding to theplayer car 34, when with the lobby screen shown in FIG. 3 displayed, anyof the clients 16 handling the player cars 34 or 40 shifts from thelobby mode to the competition mode. With the competition screen shown inFIG. 4, similarly to the lobby screen, virtual space is mainly displayedwith an appearance looking from a point of view set to the rear of theplayer car 34 corresponding to the client 16. Also, differing from thelobby mode, in the competition mode position information transferredfrom the game server 12 is limited. Specifically, only positioninformation generated on the clients 16 for the competitors andtransmitted to the game server 12 is transferred. In more detail, thisposition information includes position information for competitorsplayer cars, and also position information for non-player cars generatedin the client 16 used by the competing players. Position informationgenerated in other clients 16 (clients in lobby mode) and transmitted tothe game server 12, and position information generated in the gameserver 12, are not transferred to the clients 16 that are in competitionmode. As a result, at the client 16 lobby mode is transferred tocompetition mode, and when the lobby screen is changed and thecompetition screen is displayed on a monitor player cars for playersother than the competing players and non-player cars disappear from thescreen. Alternatively, non-player cars for which position information isgenerated in the device itself and the competing players clients 16appear on the screen. In the event that the player cars and non-playercars are deleted or registered, over a specified period of time imagesrelating to these vehicle objects are displayed in a semitransparent orflashing manner, and while that is taking place it is possible tosuppress interference processing such as collision and contact.

If there is a shift to competition mode in this way, a car chase unfoldswith each player operating their own player car, with the object beingto reduce the opponent's points to zero as quickly as possible. As shownin FIG. 4, a competition gauge 42 is displayed at an upper part of thecompetition screen, making it possible to intuitively grasp the currentpoints of the two players. Specifically, the competition gauge 42contains a player gauge 44 for the player using the client 16, and arival gauge 46 for the player who is the opponent in this competition.The length of the player gauge 44 is controlled according to the pointscurrently held by the player using the client 16, transmitted from thegame server 12. Similarly, the length of the rival gauge 46 iscontrolled according to the points currently held by the player who isthe opponent, transmitted from the game server 12.

As described above, two players participate in a car chase whilewatching the competition screen, and if the game server 12 determinesthat the points for any player has become zero, a victory or defeatnotification is transmitted from the game server 12 to the clients 16 ofboth players. In the client 16 receiving the victory or defeatnotification, after display of victory or defeat notification screendepending on the notification, a mode change from the competition modeto lobby mode is notified to the game server 12. In response to this,the game server 12 changes an competing flag, which will be describedlater, to cause the operating mode of the client 16 to shift fromcompetition mode to lobby mode, as well as carrying out transferreference for the lobby mode to start transfer of position informationof each vehicle object to the client 16. Also, after the mode change hasbeen notified to the game server 12 at the client 16, interferenceprocessing for player cars operated by a player of the client 16 andother vehicle objects is limited for a fixed time. This interferenceprocessing includes so-called hit check processing, and if there iscollision or contact between objects, it includes associated processingto change movement direction of vehicle objects in response to that.Limitation of this interference processing can be continued until it isconfirmed that there is no interference state for the player car andother vehicle objects, or can be continued for only a predetermineddelay time. It is also possible to continue until a distance between theplayer car and other vehicle objects are a specified distance or greaterapart.

Processing of this network game system 10 will be described in moredetail in the following.

FIG. 5 is a functional block diagram of the game server 12. As shown inFIG. 5, functions implemented by the game server 12 include a database48, controller 56, receiver 60 and transmitter 58. The controller 56 ismade up of a time management section 50, a competition managementsection 52, and an NPC data generating section 54. These functionalblocks are implemented by executing specified programs in the gameserver 12, being a computer system.

First of all, the database 48 is configured to contain, for example,memory or a hard disk storage device, and stores authenticationinformation, an address table, vehicle position table for lobby mode,and vehicle position table for competition mode, etc. The authenticationinformation includes a IDs and passwords for users of this network game,which are read out when a player logs in from the clients 16. Also, theaddress table contains addresses on the internet 14 of the clients 16used by each player during login. The transmitter 58 references thisaddress table and transfers data. The vehicle position table for lobbymode contains position information to be transferred to clients 16 inlobby mode, while the vehicle position table for competition modecontains position information to be transferred to clients 16 incompetition mode.

The controller 56 controls the entire game server 12, and registersposition information received by the receiver 60 in the database 48, andreads out position information from the database 48 for transmission bythe transmitter 58. The controller 56 is also responsible for userauthentication processing, competition management and chat messagetransfer.

In particular, the time management section 50 manages unification oftime in virtual space. The time managed by the time management section50 can be related to time in the real world, but does not have to haveany relationship to real time. Also, the time management section 50carries out processing to obtain duration (delay time) when transmittingdata from each client 16 to the game server 12, and duration (delaytime) when transmitting data from the game server 12 to each client 16.

The competition management section 52 transfers position information toclients 16 in competition mode, manages points for both players, anddetermines victory or defeat, to carry out overall competitionmanagement. The NPC data generating section 54 generates position datafor non-player cars transmitted to the clients 16 in lobby mode, andregisters that data in the database 48. The NPC data generating section54 generates position data for non-player cars using, for example, dataof the looped course 20 and a known automatic operation program.

The transmitter 58 transfers vehicle object position information andmessages, and transmits various commands and notifications from the gameserver 12. The receiver 60 receives vehicle object position informationand various commands and notifications from the clients 16.

FIG. 6 is a functional block diagram of a client 16. As shown in FIG. 6,functions implemented by the client 16 include a server informationdatabase 62, a client information database 64, a controller 66, anoperation unit (input means) 96, a receive buffer 84, a receiver 90, atransmit buffer 86, a transmitter 92, a display buffer 88, and a displaysection 94. Also, the controller 66 contains a server information updatesection 68, a client information update section 70, a chat controller76, a position predicting section 78, a time management section 80, anda mode management section 82. Also, the client information updatesection 70 includes an automatic operation section 72, a positionestimation section 73 and a manual operation section 74. Thesefunctional blocks are implemented by executing specific programs on theclient 16, being a computer system.

The controller 66 controls the entire client 16. The receiver 90receives position information and various information from the gameserver 12 via the internet 14. The receive buffer 84 is constituted by amemory, and temporarily stores various information received from thereceiver 90. The server information database 62 is constituted by, forexample, memory or a hard disk storage device, and stores a lobby modevehicle position table or a competition mode vehicle position tablereceived from the game server 12. The server information update section68 updates the lobby mode vehicle position table or the competition modevehicle position table stored in the server information database 62based on position information stored in the receive buffer 84.

The client information database 64 is constituted, for example, bymemory or a hard disk storage device, and stores real time vehicle data,including current position, current attitude and current speed vectorsfor each vehicle object being managed by the client 16. Space datarepresenting the virtual space shown in FIG. 2 and moving object dataare stored in the client information database 64. The client informationupdate section 70 updates real time vehicle data stored in the clientinformation database 64 based on the lobby mode vehicle position tableor competition mode vehicle position table stored in the serverinformation database 62, real time vehicle data, space data and movingobject data stored in the client information database 64, and operationsignals input using the operation unit 96. In particular, the manualoperation section 74 included in the client information update section70 is for generating real time vehicle data for the player car in playercar operation mode (non-message input mode), and generates real timevehicle data (current position data) for the player car based on a lobbymode vehicle position table or competition mode vehicle position tablestored in the server information database 62, real time vehicle data,space data and moving object data stored in the client informationdatabase 64, and operation signals input using the operation unit 96.Also, the automatic operation section 72 is for generating real timevehicle data for the player car instead of the manual operation section74 in message input mode, and, differing from the manual operationsection 74, generates real time vehicle data (current positioninformation) for the player car not based on operation signals from theoperation unit 96. The operation unit 96 is constituted by, for example,a keyboard, mouse, game controller or vehicle controller, etc.

The position estimation section 73 generates real time vehicle data(estimated current position information) likely to be currentlygenerated in the other client 16, for vehicle objects (other managedcars) other than player cars and non-player cars (self managed car) forwhich position information is generated in the client 16. Thisprocessing is carried out based on position information for each othermanaged car stored in the server information database 62, real timevehicle data for the other managed cars stored in the client informationdatabase 64 immediately before. That is, the real time vehicle datastored in the client information database 64 includes current positioninformation relating to the self managed car and estimated currentposition information relating to other managed cars.

Also, as will be described later, position information relating to aplayer car corresponding to another client 16 that is in competitionmode is also stored in the lobby mode vehicle position table stored inthe server information database 62 in lobby mode. These items ofinformation are then stored correlated to a competition flag indicatingthe fact that competition mode is active. Therefore, at the clientinformation update section 70, in lobby mode, interference processingfor a player car corresponding to the other client 16 in competitionmode, and other vehicle objects, is not carried out, and real timevehicle data relating to all vehicle objects is generated.

The client information update section 70 generates display data based onreal time vehicle data relating to each vehicle object, space data andmoving object data stored in the client information database 64, andwrites this data to the display buffer 88 constituted by memory. Then,the display section 94 that is constituted by a household televisionreceiver or computer display reads out display data stored in thedisplay buffer 88, and based on this display data displays a game screensuch as the lobby screen or the competition screen. At this time, at theclient information update section 70, in lobby mode, an image relatingto a player car corresponding to the other client 16, in competitionmode, is displayed distinctly from an image relating to other vehicleobjects For example, an image relating to a player car corresponding tothe other client 16 in competition mode is displayed on the lobby screenin a semi-transparent manner, while images relating to the other vehicleobjects are displayed in an opaque manner. In this way, the player canrecognize the existence of player cars in competition mode at a glance.

The chat controller 76 is for controlling chat between clients 16. Inmore detail, in lobby mode, as well as displaying a message log displaybox 24, message input field 26, transmit mode switching buttons 28, 30and address book display box 32 on the lobby screen, if a message inputstart command is received from the operation unit 96, the mode isswitched from player car operation mode to message input mode, and forthe client information update section 70 a command is issued so as toswitch from generation of real time vehicle data using the manualoperation section 74 to generation of real time vehicle data using theautomatic operation section 72. Also, a message string input using theoperation unit 96 is stored together with transmission destinationinformation in the transmit buffer 86 constituted by memory. At thistime, the message string input by a player is displayed in the messagelog display box 24. The transmission destination information storedtogether with the message string in the transmit buffer 86 is a playerID to be transmitted to in the case of individual transmission or, inthe case of collective transmission, data indicating that fact, and is acommand input using the operation unit 96 with reference to thetransmission mode switching buttons 28, 30 and address book display box32 displayed on the lobby screen. These message strings and transmissiondestination information are read out from the transmit buffer 86 atspecified timing by the transmitter 92 and transmitted to the gameserver 12. At the game server 12, the received message string is thentransferred to the clients 16 according to the transmission destinationinformation.

The chat controller 76 reads out the message string that has beentransferred by the game server 12 and received by the receiver 90 fromthe receive buffer 84, and additionally displays it in the message logdisplay box 24. Also, if a message input termination command is receivedfrom the operation unit 96 the mode is switched from message input modeto player car operation mode, and a command is issued to the clientinformation update section 70 to switch from generation of real timevehicle data using the automatic operation section 72 to generation ofreal time vehicle data using the manual operation section 74.

The position predicting section 78 generates real time vehicle data fora player car, and a non-player car having position information generatedin a client 16, that is for self-managed cars, that is likely to havebeen generated by the client information update section 70, namely,predicted future position information. This predicted future positioninformation is calculated based on real time vehicle data relating to anself-managed car and other managed car stored in the client informationdatabase 64, operation signals input from the operation unit 96(representing accelerator opening amount, handle operating angle, brakedepression angle, etc.) space data and moving object data etc. It isalso possible, for example, to store a movement history of theself-managed car, that is a real time vehicle data history, andcalculate the predicted future position information based on thishistory. It is also possible to store an operation signal history andcalculate the predicted future position information based on thishistory. The future time at which the self-managed car is positioned atthe position represented by the predicted future position informationcan be a time after a specified time has elapsed from the current timemanaged by the time management section 80. It is also possible tomonitor communication conditions between the game server 12 and theclient 16, for example, delay time, and to control the specified timeaccordingly. The position predicting section 78 then stores thepredicted future position information for the self managed car, and thetime for that position information, in the transmit buffer 86, and theclient information update section 70 stores the current positioninformation and current time of the self managed car in the transmitbuffer 86. At the transmitter 92, a pairing of the current positioninformation and the current time stored in the transmit buffer 86 areput together with a pairing of the predicted future position informationand the future time, and transmitted to the game server 12 as positioninformation.

The time management section 80 acts in cooperation with the timemanagement section 50 provided in the game server 12 to manage currenttime for virtual space. Also, delay time between the game server 12 andthe client 16 is measured. The mode management section 82 manageswhether the client 16 is in lobby mode or competition mode. Also, actingin cooperation with the game server 12 control is carried out to changefrom lobby mode to competition mode, and change from competition mode tolobby mode.

The various data managed by the network game system 10 will be describedin more detail in the following.

FIG. 7 is a drawing showing an example of a lobby mode vehicle positiontable stored in the database 48 contained in the game server 12. Asshown in FIG. 7, the lobby mode vehicle position table respectivelystores ID, latest current position and time of the latest currentposition, latest predicted future position and time of latest predictedfuture position, and competing flag for all players logged-in to thegame server 12 and all non-player cars managed by the game server 12, ina correlated manner. The latest current position and the time of thatlatest current position are generated in the client 16 or the gameserver 12 for the corresponding player cars or non-player cars, and arethe latest current position obtained in the game server 12, and the timeat which the player car or non-player car was positioned at thatposition. The latest predicted future position and the future time ofthat latest predicted future position are generated in the client 16 orthe game server 12 for the corresponding player cars or non-player cars,and are the latest future predicted position obtained in the game server12, and the time at which the player car or non-player car will bepositioned at that position. The competing flag represents whether ornot the corresponding player car or non-player car is in a competition,and a “1” is stored for a client 16 that has defined competition startconditions and is in competition mode, while “0” is stored for a client16 that is in lobby mode. At the game server 12, some records of thelobby mode vehicle position table shown in FIG. 7 is transmitted to theclient 16. Specifically, for a client 16 that is in lobby mode, allrecords other than records corresponding to that client 16 are sent tothat client 16. That part of the lobby mode vehicle position table thatis transmitted in this way is stored in the server information database62 in the client 16. It is also possible to select only records that aredeemed to have high necessity and transmit those to the client 16, basedon position information for each vehicle object.

FIG. 8 is a drawing showing one example of an address table stored inthe database 48 contained in the game server 12. As shown in FIG. 8,addresses of clients 16 used by each logged-in player are held at thegame server 12 as a table. Each record of this table is generated, forexample, at the time of login. At the transmitter 58 it is possible tospecify transmission addresses of the lobby mode vehicle position dataand competition mode vehicle data by referencing the address table shownin FIG. 8.

FIG. 9 is a drawing showing an example of a competition mode vehicleposition table stored in the database 48 contained in the game server12. Competition mode position tables shown in FIG. 9 are stored in thedatabase 48 one at a time for a group of clients 16 in a competition,and for both player cars in a competition and all non-player carsmanaged by clients 16 in a competition, respectively stores ID, latestcurrent position and time of the latest current position, latestpredicted future position and time of latest predicted future position,with the content being similar to that of the lobby mode vehicleposition table. At the game server 12, some records of the competitionmode vehicle position table shown in FIG. 9 are transmitted to clients16 corresponding to the table in FIG. 9. Specifically, for a client 16that is in competition mode, all records other than recordscorresponding to that client 16, that is, all records relating to playercars and non-player cars whose current position and predicted futureposition are generated in competitor's clients 16, are transmitted tothat client 16. That part of the competition mode vehicle position tablethat is transmitted in this way is stored in the server informationdatabase 62 in the client 16. It is also possible to select only recordsthat are deemed to have high necessity and transmit those to the client16, based on position information for each vehicle object.

FIG. 10 is a drawing showing real time vehicle data stored in the clientinformation database 64 contained in the client 16. As shown in FIG. 10,the real time vehicle data includes current position, current attitude,and current speed vectors (speed and direction of movement) for allvehicle objects arranged in virtual space managed by the client 16, andthe client information database 64 stores real time vehicle data havingthis structure for a specified period of time including the latest data.

Also, FIG. 11 is a drawing for describing position estimation processingof the position estimation section 73 contained in the client 16. InFIG. 11, the upper line shows transitions of current position (real timevehicle data) for a particular vehicle object sequentially generated ina particular client 16. Specifically, the black dots on the upper lineshow the current position of a vehicle, and the circles show currentposition transmitted to the game server 12 and transferred to otherclients 16. Also, the squares show predicted future position transmittedto the game server together with the current position, and transferredto the other clients 16. In FIG. 11, the lower line shows transitions inestimated current position of a vehicle object (real time vehicle data)sequentially generated in another client 16.

As shown in FIG. 11, in the position estimation section 73, byinternally or externally dividing the latest current position PAn andthe predicted future position PEn being transmitted from the game server12 until now, a dummy estimated current position is calculated.Specifically, time relating to the current position PAn and timerelating to the predicted future position PEn are also transmitted tothe client 16 from the game server 12, and it is possible to calculate acurrent position that is likely to be generated at this time in theclient 16 that generated the current position PAn for the vehicle objectbased on these items of information and current time being managed inthe client 16. Estimated current position is then calculated based onthis dummy estimated current position, and an estimated current positioncalculated immediately prior (adding one or more earlier than that ismore preferable) (by calculating internal dividing points of the twopositions, for example). In this manner, in the other clients 16 thereis no sudden position change, and it is possible to cause a vehicleobject to travel.

With the network game system 10 described above, it is possible toreduce traffic while achieving pseudo sharing of positions of playercars etc. sequentially changed in virtual space between clients 16.Also, it is possible to allow smooth transition of virtual spacerelating to a client in a competition (specified client) to anothervirtual space, and it is possible to avoid game space congestion. Also,since for a client 16 in a competition position information transmittedfrom other clients 16 is not transferred, it is possible to suppresscommunication traffic. Further, if a message input start command isissued, since a player car is automatically operated it is possible toeasily participate in an on-line chat.

The spatial position sharing technique of the network game systemdescribed above can also be applied to other data sharing. For example,in a client 16 and a game server 12, by also receiving and transmittingattitude information, made up of current attitude information andpredicted future attitude information, in addition to positioninformation (current position information and predicted future positioninformation) and sequentially calculating estimated current attitudeinformation based on attitude information in each client 16, it ispossible to achieve pseudo sharing of real time attitude of vehicleobjects etc, across clients 16. It is also possible to apply the presentinvention not only to a system for pseudo sharing of position andattitude in virtual space, but also to pseudo sharing of various datasuch as length, angle, color, size, design, shape etc. generated in realtime in one device, with another device.

FIG. 12 is a drawing showing the structure of a data sharing system ofone embodiment of the present invention. This data sharing systemcomprises a master device 100 and slave device 102. The master device100 comprises an operation section 104, a current data generatingsection 106, a current data output section 108, a predicted future datagenerating section 110, and a current data and predicted future datatransmission section 112. The slave device 102 comprises a current dataand predicted future data receiving section 114, an estimated currentdata generating section 116, and an estimated current data displaysection 118.

Here, in the master device 100 the operation section 104 is used for auser to input operation signals. Also, the current data generatingsection 106 generates current data representing, for example, length,angle, color, size, deign and shape in real time based on the operationsignal input using the operation section 104. The current data outputsection 108 outputs images and sound based on current data generated bythe current data generating section 106. The predicted future datagenerating section 110 generates current data likely to be generated bythe current data generating section 106 at a future time as predictedfuture data, based on current data generated by the current datagenerating section 106 and operation signals input using the operationsection 104. The current data and predicted future data transmissionsection 112 transmits a pair of current data and current time, and apair of predicted future data and a future time corresponding to thepredicted future data. These items of data can be transmitted directlyto the slave device 102, or relayed through another device. Further, bysetting a time after a specified time has elapsed since the current timeas the predicted future time, and storing the specified time in themaster device 100 and the slave device 102, it is possible to do awaywith transmitting the predicted future time.

On the other hand, in the slave device 102, the current data andpredicted future data receiving section 114 receives the datatransmitted from the current data and predicted future data transmissionsection 112 of the master device 100. Also, the estimated current datagenerating section 116 estimates current data likely to be generated bythe current data generating section 106 in the master device 100 at thecurrent time based on data received by the current data and predictedfuture data receiving section 114, and generates estimated current data.The master device 100 and slave device 102 comprise some sort of timemanagement means for managing time substantially synchronized in thetwo. The estimated current data output section 118 outputs images andsound based on estimated current data generated by the estimated currentdata generating section 116. In this way, it is possible to reduceoutput content due to the current data output section 108, outputcontent due to the estimated current data display section 118 andtraffic between the master device 100 and the slave device 102, whileenabling substantial synchronization.

INDUSTRIAL APPLICABILITY

The present invention is not limited to the above described embodiments.For example, the present invention can be applied not only to a vehicleracing game, but also to various network games. The present inventioncan also be applied to various communication systems and not just games.

1. A spatial position sharing system, comprising a first device and asecond device, the first device comprising current position informationgenerating means for sequentially generating current positioninformation for a position shared object in virtual space, predictedfuture position information generating means for sequentially generatingpredicted future position information for the position shared object inthe virtual space; and information transmission means for sequentiallytransmitting the generated current position information and predictedfuture position information, the second device comprising informationreceiving means for receiving the current position information and thepredicted future position information transmitted from the first device;and estimated current position information generating means forsequentially generating estimated current position information for theposition shared object in the virtual space based on the receivedcurrent position information and predicted future position information.2. The system of claim 1, wherein the current position informationrepresents current time, and position of the position shared object inthe virtual space at that time.
 3. The system of claim 1, wherein thepredicted future position information represents predicted position ofthe position shared object in the virtual space.
 4. The system of claim3, wherein the predicted future position information also represents afuture time at which the position shared object is at the predictedposition in the virtual space.
 5. The system of claim 4, wherein thepredicted future position information generating means determines thefuture time based on communication conditions between the first andsecond devices.
 6. The system of claim 1, wherein the estimated currentposition information represents an estimation result for currentposition of the position shared object in the virtual space.
 7. Thesystem of claim 1, wherein the current position information generatingmeans sequentially generates the current position information based onoperation information input by a user of the first device, and thepredicted future position information generating means sequentiallygenerates the predicted future position information based on theoperation information.
 8. The system of claim 1, wherein the predictedfuture position information generating means generates the predictedfuture position information based on the current position informationgenerated by the current position information generating means.
 9. Thesystem of claim 8, further provided with current position informationstorage means for multiply storing the current position informationgenerated by the current position information generating means, and thepredicted future position information generating means generating thepredicted future position information based on a plurality of items ofthe current position information stored in the current positioninformation storage means.
 10. The system as disclosed in claim 1,wherein the estimated current position information generating meansnewly generates the estimated current position information based onalready generated estimated current position information.
 11. The systemof claim 10, wherein the estimated current position informationgenerating means generates dummy estimated current position informationfor the position shared object in the virtual space based on thereceived current position information and the predicted future positioninformation, and newly generates estimated current position informationbased on already generated estimated current position information andthe dummy estimated current position information.
 12. The system ofclaim 11, wherein the estimated current position information generatingmeans generates a position of an internal dividing point or an externaldividing point of a position represented by the received currentposition information or a position represented by the predicted futureposition information as the dummy estimated current positioninformation.
 13. The system of claim 1, wherein the first device furthercomprises current attitude information generating means for sequentiallygenerating current attitude information for the position shared objectin the virtual space; predicted future attitude information generatingmeans for sequentially generating predicted future attitude informationfor the position shared object in the virtual space; and attitudeinformation transmission means for sequentially transmitting thegenerated current attitude information and the predicted future attitudeinformation, the second device further comprising attitude informationreceiving means for receiving the current attitude information and thepredicted future attitude information transmitted from the first device;and estimated current attitude information generating means forsequentially generating estimated current attitude information for theposition shared object in the virtual space based on the receivedcurrent attitude information and predicted future attitude information.14. A special position sharing device, comprising: current positioninformation generating means for sequentially generating currentposition information for a position shared object in virtual space;predicted future position information generating means for sequentiallygenerating predicted future position information for the position sharedobject in the virtual space; and information transmission means forsequentially transmitting the generated current position information andpredicted future position information.
 15. A spatial position sharingdevice comprising: information receiving means for receiving currentposition information for a position shared object in virtual space andpredicted future position information of the position shared object inthe virtual space sequentially generated in another device andsequentially transmitted from the other device; and estimated currentposition information generating means for sequentially generatingestimated current position information for the position shared object inthe virtual space based on the received current position information andthe predicted future position information.
 16. A program for causing acomputer to function as current position information generating meansfor sequentially generating current position information for a positionshared object in virtual space; predicted future position informationgenerating means for sequentially generating predicted future positioninformation for the position shared object in the virtual space; andinformation transmission means for sequentially transmitting thegenerated current position information and predicted future positioninformation.
 17. A program for causing a computer to function asinformation receiving means for receiving current position informationfor a position shared object in virtual space and predicted futureposition information of the position shared object in the virtual spacesequentially generated in another device and sequentially transmittedfrom the other device; and estimated current position informationgenerating means for sequentially generating estimated current positioninformation for the position shared object in the virtual space based onthe received current position information and the predicted futureposition information.
 18. A spatial position sharing method, comprising:a current position information generating step for, in a first device,sequentially generating current position information of a positionshared object in virtual space; a predicted future position informationgenerating step for, in the first device, sequentially generatingpredicted future position information of the position shared object inthe virtual space; an information transmission step for, in the firstdevice, sequentially transmitting the generated current positioninformation and predicted future position information; an informationreceiving step for, in a second device, receiving the current positioninformation and the predicted future position information transmittedfrom the first device; and an estimated current position informationgenerating step for, in the second device, sequentially generatingestimated current position information for the position shared object inthe virtual space based on the received current position information andthe predicted future position information.
 19. A spatial positionsharing method, comprising: an information receiving step for receivingcurrent position information for a position shared object in virtualspace and predicted future position information of the position sharedobject in the virtual space sequentially generated in another device andsequentially transmitted from the other device; and an estimated currentposition information generating step for sequentially generatingpredicted future position information for the position shared object inthe virtual space based on the received current position information andthe predicted future position information.
 20. A data sharing systemcomprising a first device and a second device, the first devicecomprising current data generating means for sequentially generatingcurrent data, predicted future data generating means for sequentiallygenerating predicted future data; and data transmission means forsequentially transmitting the generated current data and predictedfuture data, the second device comprising data receiving means forreceiving the current data and the predicted future data transmittedfrom the first device; and estimated current data generating means forsequentially generating estimated current data based on the receivedcurrent data and predicted future data.
 21. A data sharing system,comprising: current data generating means for sequentially generatingcurrent data; predicted future data generating means for sequentiallygenerating predicted future data; and data transmission means forsequentially transmitting the generated current data and the predictedfuture data.
 22. A data sharing system, comprising: data receiving meansfor receiving current data and predicted future data sequentiallygenerated in another device and sequentially transmitted from the otherdevice; and estimated current data generating means for sequentiallygenerating estimated current data based on the received current data andthe predicted future data.
 23. A program for causing a computer tofunction as: current data generating means for sequentially generatingcurrent data; predicted future data generating means for sequentiallygenerating predicted future data; and data transmission means forsequentially transmitting the generated current data and the predictedfuture data.
 24. A program for causing a computer to function as: datareceiving means for receiving current data and predicted future datasequentially generated in another device and sequentially transmittedfrom the other device; and estimated current data generating means forsequentially generating estimated current data based on the receivedcurrent data and the predicted future data.
 25. A data sharing methodcomprising: a current data generating step for, in a first device,sequentially generating current data, a predicted future data generatingstep for, in the first device sequentially generating predicted futuredata; a data transmission step for, in the first device, sequentiallytransmitting the generated current data and the predicted future data, adata receiving step for, in a second device, receiving the current dataand the predicted future data transmitted from the first device; and anestimated current data generating step for, in the second device,sequentially generating estimated current data based on the receivedcurrent data and predicted future data.
 26. A data sharing methodcomprising: a data receiving step for receiving current data andpredicted future data sequentially generated in another device andsequentially transmitted from the other device; and an estimated currentdata generating step for sequentially generating estimated current databased on the received current data and predicted future data.
 27. Anetwork game system, including a server and a plurality of clients,wherein: the plurality of clients respectively comprise space datastorage means for storing space data representing virtual space; andposition information transmission means for transmitting positioninformation corresponding to the client for the virtual space to theserver, and the server comprises position information receiving meansfor receiving position information from the plurality of clients; clientspecifying means for specifying some from among the plurality ofclients; and position information transfer means for transferring all orsome of the position information received from the plurality of clientsto the plurality of clients, while restricting transfer of positioninformation received from clients that have not been specified by theclient specifying means to clients that have been specified by theclient specifying means, the plurality of clients respectivelycomprising transfer data receiving means for receiving positioninformation transferred from the server, and game processing means forexecuting a game process based on position information received by thetransfer data receiving means and space data stored in the space datastorage means.
 28. The system of claim 27, wherein the positioninformation transfer means separately transfers position informationreceived from clients specified by the client specifying means, andposition information received from clients not specified by the clientspecifying means, to the clients that have not been specified by theclient specifying means, and the game processing means separatelydisplays an image relating to position information transmitted fromclients specified by the client specifying means and an image relatingto position information transmitted from clients not specified by theclient specifying means.
 29. The system of claim 28, wherein the gameprocessing means limits interference processing between objects arrangedat position represented by position information transmitted from clientsthat are specified by the client specifying means, and objects arrangedat positions represented by position information transmitted by clientsthat are not specified by the client specifying means.
 30. The system ofclaim 27, further comprising specification cancellation means forcanceling specification by the client specifying means, wherein, whenspecification by the client specifying means for a client containing thegame processing means is canceled, the game processing means limitsinterference processing for objects arranged at positions represented byposition information corresponding to the client, and objects arrangedat positions represented by position information transmitted fromclients that are not specified by the client specifying means, until aspecified time.
 31. A control method for a network game systemcomprising a server and a plurality of clients, comprising: a positioninformation transmission step, in each client, for transmitting positioninformation corresponding to the client in virtual space to the server;a position information receiving step, in the server, for receivingposition information transmitted from the plurality of clients; a clientspecifying step, in the server, for specifying some of the plurality ofclients; a position information transfer step, in the server, fortransferring all or some of the position information received from theplurality of clients to the plurality of clients, while restrictingtransfer of position information received from clients that have notbeen specified in the client specifying step to clients that have beenspecified in the client specifying step; a transferred data receivingstep, in each client, for receiving position information transferredfrom the server; and a game processing step, in each client, forexecuting game processing based on position information received in thetransferred data receiving step and space data representing the virtualspace.
 32. A client, for a network game, used in a network game in whichvirtual space is shared by a plurality of clients, for causing movementof objects corresponding to each client in the virtual space,comprising: input means for inputting signals; mode determining meansfor determining whether an operating mode of the client is an objectoperation mode or a message input mode; first position informationgenerating means for, in the object operation mode, generating positioninformation relating to a position of an object corresponding to theclient based on signals input by the input means; second positioninformation generating means for, in the message input mode, generatingposition information relating to position of an object corresponding tothe client while limiting an extent that the position information isbased on signals input by the input means, instead of the first positiongenerating means; position information transmission means fortransmitting the position information generated by the first or secondposition information generating means; message information generatingmeans for, in the message input mode, generating message informationbased on signals input by the input means; and message informationtransmission means for transmitting the message information generated bythe message information generating means.
 33. The client of claim 32,wherein the second position information generating means generatesposition information relating to position of an object corresponding tothe client so as to suppress variation in game conditions.
 34. Theclient of claim 33, wherein the second position information generatingmeans generates position information relating to position of an objectcorresponding to the client, based on a distance between the objectcorresponding to the client and an object corresponding to anotherclient.
 35. A program, for causing a computer to function as a client,for a network game, used in a network game in which virtual space isshared by a plurality of clients, for causing movement of objectscorresponding to each client in the virtual space, the program causingthe computer to function as: input means for inputting signals; modedetermining means for determining whether an operating mode of theclient is an object operation mode or a message input mode; firstposition information generating means for, in the object operation mode,generating position information relating to a position of an objectcorresponding to the client based on signals input by the input means;second position information generating means for, in the message inputmode, generating position information relating to position of an objectcorresponding to the client while limiting an extent that the positioninformation is based on signals input by the input means, instead of thefirst position generating means; position information transmission meansfor transmitting the position information generated by the first orsecond position information generating means; message informationgenerating means for, in the message input mode, generating messageinformation based on signals input by the input means; and messageinformation transmission means for transmitting the message informationgenerated by the message information generating means.
 36. A controlmethod, for a client for, in a network game, used in a network game inwhich virtual space is shared by a plurality of clients, causingmovement of objects corresponding to each client in the virtual space,comprising: a mode determining step for determining whether an operatingmode of the client is an object operation mode or a message input mode;a first position information generating step for, in the objectoperation mode, generating position information relating to a positionof an object corresponding to the client based on signals input by inputmeans; a second position information generating step for, in the messageinput mode, generating position information relating to position of anobject corresponding to the client while limiting a degree to which theposition information is based on signals input by the input means,instead of the first position generating step; a position informationtransmission step for transmitting the position information generated inthe first or second position information generating steps; a messageinformation generating step for, in the message input mode, generatingmessage information based on signals input by the input means; and amessage information transmission step for transmitting the messageinformation generated in the message information generating step.
 37. Aminformation storage medium storing the program of claim 16.